Skip to content

Conversation

@moe93
Copy link

@moe93 moe93 commented Feb 20, 2025

Closes #530

Usage:

if (ImPlot::BeginPlot("My Plot", ImVec2(-1, 0), ImPlotFlags_NoCentralMenu))
{
    // Plot things before

    if (ImPlot::BeginCustomContext())
    {
        if (ImGui::MenuItem("My Custom Item")) doThing();
        ImPlot::EndCustomContext(true); // true = append standard menu
    }
    ImPlot::EndPlot();

    // Plot things after
}

This is the work of @PapaNaxos. I just packaged it and created the PR.

Pass ImPlotFlags_NoCentralMenu to BeginPlot()

Usage BeginCustomContext(){ ...; EndCustomContext() } within BeginPlot()
@brenocq brenocq self-requested a review November 7, 2025 04:50
@brenocq brenocq added prio:high High priority status:review The task is under review type:feat New feature or request labels Nov 7, 2025
@PapaNaxos
Copy link

PapaNaxos commented Nov 11, 2025

I originally made this comment on the associated issue, but maybe it's better to put here.

I do wonder if ImPlotFlags_NoCentralMenu is the most intuitive flag name or not...

Even though I wrote it, I don't find it particularly obvious that THAT flag is what is required to use a custom context menu 😅

Perhaps
ImPlotFlags_HasCustomContext
ImPlotFlags_UseCustomContext
ImPlotFlags_CustomContext
?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

prio:high High priority status:review The task is under review type:feat New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add items to context menu

3 participants